/**
 * 
 */
package com.fidelizarte.ejb.persistence.dao.impl;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

//import com.fidelizarte.ejb.persistence.dao.EmpresaDAO;
import com.fidelizarte.ejb.persistence.dao.FactoryDAO;
import com.fidelizarte.ejb.persistence.dao.HistoricoClaveDAO;
import com.fidelizarte.ejb.persistence.dao.HistoricoTransaccioneDAO;
import com.fidelizarte.ejb.persistence.dao.MenuDAO;
//import com.mpo.ejb.persistence.dao.ParametroDAO;
import com.fidelizarte.ejb.persistence.dao.PerfilDAO;
//import com.mpo.ejb.persistence.dao.PersonaDAO;
import com.fidelizarte.ejb.persistence.dao.UsuarioDAO;

/**
 * @author Jose Auquilla
 *
 */
@Stateless
public class FactoryDAOImpl implements FactoryDAO {
	
	@PersistenceContext
	private EntityManager entityManager;
	
	private UsuarioDAO usuarioDAO;
	//private EmpresaDAO empresaDAO;
	private PerfilDAO perfilDAO;
	private MenuDAO menuDAO;
	
	private HistoricoTransaccioneDAO historicoTransaccioneDAO;
	private HistoricoClaveDAO historialClaveDAO;
	
	//private ParametroDAO parametroDAO;
	
	//private PersonaDAO personaDAO;

	@Override
	public UsuarioDAO getUsuarioDAOImpl() {
		if (usuarioDAO == null) {
			usuarioDAO = new UsuarioDAOImpl(entityManager);
		}
		return usuarioDAO;
	}
	/*
	@Override
	public EmpresaDAO getEmpresaDAOImpl() {
		if (empresaDAO == null) {
			empresaDAO = new EmpresaDAOImpl(entityManager);
		}
		return empresaDAO;
	}*/
/*
	@Override
	public ModuloDAO getModuloDAOImpl() {
		if (moduloDAO == null) {
			moduloDAO = new ModuloDAOImpl(entityManager);
		}
		return moduloDAO;
	}
*/
	@Override
	public PerfilDAO getPerfilDAOImpl() {
		if (perfilDAO == null) {
			perfilDAO = new PerfilDAOImpl(entityManager);
		}
		return perfilDAO;
	}

	@Override
	public HistoricoTransaccioneDAO getHistoricoTransaccioneDAOImpl() {
		if (historicoTransaccioneDAO == null) {
			historicoTransaccioneDAO = new HistoricoTransaccioneDAOImpl(entityManager);
		}
		return historicoTransaccioneDAO;
	}

	@Override
	public MenuDAO getMenuDAOImpl() {
		if (menuDAO == null) {
			menuDAO = new MenuDAOImpl(entityManager);
		}
		return menuDAO;
	}

	@Override
	public HistoricoClaveDAO getHistorialClaveDAOImpl() {
		if (historialClaveDAO == null) {
			historialClaveDAO = new HistoricoClaveDAOImpl(entityManager);
		}
		
		return historialClaveDAO;
	}
/*
	@Override
	public ParametroDAO getParametroDAOImpl() {
		if (parametroDAO == null) {
			parametroDAO = new ParametroDAOImpl(entityManager);
		}
		return parametroDAO;
	}

	@Override
	public PersonaDAO getPersonaDAOImpl() {
		if (personaDAO == null) {
			personaDAO = new PersonaDAOImpl(entityManager);
		}
		return personaDAO;
	}
*/
}
